Large-scale networks are designed to meet many different service objectives. Networks designs are separately optimized for each of the service objectives. Typically, the optimization is done manually based on a user's past experience and judgment, and often results in overly provisioned networks. The over provisioning of networks represents a significant cost to the network owner as the network scales.